This invention relates to PROM programmers and more particularly to a PROM programmer which programs a plurality of proms mounted on a circuit board.
Programmable PROMs, both bipolar and MOS, are well known in the art. These circuits are generally programmed by applying a selective, generally high, voltage to a memory element at a selectively addressed location causing some malfunction in the cell such as open circuiting a fuse or semiconductor junction, thereby selectively altering the cell to provide a binary state opposite to the original stored signal.
Heretofore, such programming of PROM circuits was done on an individual basis. This process is slow and in the case of mass production, all chips to be programmed at a given work station are generally programmed with the same set of data or program. In order to produce, for example, a number of circuit boards, each contining 16 PROMs with each of the PROMs containing a different set of data or program, either 16 programming machines are necessary or the program of a single machine would have to be changed as many as 16 times or some combination of these.
It is, therefore, an object of the present invention to provide an improved PROM programmer.
It is another object of the invention to provide a PROM programmer which is capable of programming a plurality of PROMs, each with a different set of data or program instructions in a single operation.
It is a further object of the invention to provide a programmer which programs PROMs while such PROMs are mounted on a circuit board, the circuit board being suitable for mounting in an end product in which the PROMs are required for operation.
Still another object of the invention is to provide a multiple PROM programmer with error checking and correction capabilities.
Still a further object of the invention is to provide a prom programmer which interfaces with a stored program industrial to copy a stored program from the controller to a multi-PROM circuit board for permanent storage, provide a stored program to a RAM memory system controller, provide a duplicate circuit board for a similar industrial controller and/or provide a replacement for a RAM memory system in the industrial controller.
These and other objects are accomplished in accordance with the present invention in which a PROM programmer is adapted to receive multi-PROM circuit boards and is capable of programming all of the PROMs mounted on the circuit board, each with a different program or data set, in a single operation. The PROM programmer is comprised of a memory buffer unit for receiving data from a stored program industrial controller or some other source in a particular manner, i.e., serially and temporarily storing such data until the PROMs on the circuit board have been programmed. A memory buffer unit also provides address signals for addressing the PROMs on the circuit board; the high order address bits are utilized for chip selection by means of a chip select circuit and the low order bits are utilized for addressing the individual memory cell on the selected PROM chip. A controlled dual voltage supply provides high (write) or low (read) energizing voltage to the selected PROM by means of the chip select circuit, thereby automatically programming or reading the selected cell of the selected PROM. This feature is significant because the PROMs may not have chip enable inputs and because the programming function is often applied via the same (Vcc) pin which ordinarily supplies relatively low operating voltage to the chip in the read mode after programming is complete. In one embodiment, a hard wired set of bits on the circuit board indicates to the PROM programmer the number of PROMs to be programmed and a similar indicator is provided by the stored program industrial controller or other data source indicating to the PROM programmer of memory chips in the controller which will be sending or receiving data from the PROM programmer. In that manner, circuit boards containing different numbers of PROMs are programmed. A control unit controls the flow of data through the memory buffer unit and sequences the operation of the PROM programmer.